//
//  YanStatusCell.swift
//  SinaWeibo
//
//  Created by mac on 2017/5/24.
//  Copyright © 2017年 mac. All rights reserved.
//

import UIKit

class YanStatusCell: UITableViewCell {
    
    /// 微博试图模型
    var viewModel: YanStatusViewModel? {
        didSet {
            /// 微博文本
            statusLabel?.text = viewModel?.status.text
            /// 姓名
            nameLabel.text = viewModel?.status.user?.screen_name
            
            // 设置会员图标
            menberIconView.image = viewModel?.memberIcon
            // 认证图标
            vipIconView.image = viewModel?.vipIcon
            // 用户头像
            iconView.cz_setImage(urlString: viewModel?.status.user?.profile_image_url, placeholderImage: UIImage(named: "avatar_default_big"), isAvatar: true)
            
            tooBar.viewModel = viewModel
            
            // 配图视图视图模型
            pictureView.viewModel = viewModel
            
            // 设置被转发微博的文字
            retweetedLabel?.text = viewModel?.retweetedText
            
            // 设置来源
//            sourceLabel.text = viewModel?.status.source
            sourceLabel.text = viewModel?.sourceStr
        }
    }
    
    /// 头像
    @IBOutlet weak var iconView: UIImageView!
    /// 姓名
    @IBOutlet weak var nameLabel: UILabel!
    /// 会员图标
    @IBOutlet weak var menberIconView: UIImageView!
    /// 时间
    @IBOutlet weak var timeLabel: UILabel!
    /// 来源
    @IBOutlet weak var sourceLabel: UILabel!
    /// 认证图标
    @IBOutlet weak var vipIconView: UIImageView!
    /// 正文
    @IBOutlet weak var statusLabel: UILabel!
    /// 底部工具栏
    @IBOutlet weak var tooBar: YanStatusToolBar!
    
    /// 配图试图
    @IBOutlet weak var pictureView: YanStatusPictureView!

    @IBOutlet weak var retweetedLabel: UILabel?
    
    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code
        
        // 离屏渲染 - 异步绘制
        self.layer.drawsAsynchronously = true
        
        // 栅格化 - 异步绘制之后，会生成一张独立的图像，cell在屏幕上滚动的时候，本质滚动的是这张图片
        // cell 优化，要尽量减少图层的数量，相当于就只有一层
        // 停止滚动之后，可以接受监听
        self.layer.shouldRasterize = true
        
        // 指定分辨率
        self.layer.rasterizationScale = UIScreen.main.scale
    }

}
